package net.game.server.util.graph;

import java.util.Iterator;
import java.util.RandomAccess;

public interface Graph<E> extends Iterable<E>, RandomAccess {
    void plot(int idx, E e);
    
    void plot(int idx, E[] e);
    
    void plotNext(E e);
    
    void plotNext(E[] e);
    
    void remove(int idx);
    
    void remove(E e);
    
    boolean contains(E e);
    
    int size();
    
    int capacity();
    
    @Override
    Iterator<E> iterator();
    
    int indexOf(E e);

    boolean hasSpace();
}
